﻿using DemoPrism.Services;
using DemoPrism.Services.Interfaces;
using DemoPrism.Views;
using ImageToAviMod;
using PcfSimpleToolMod;
using PdfMod;
using Prism.Ioc;
using Prism.Modularity;
using System.Windows;
using BaseMod;
using CadLongPipeMod;
using CanvasMod;
using DirMod;
using TimerMod;
using XmlMod;
using ZhlTextMod;
using CalendarMod;
using GeometryMod;

namespace DemoPrism
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App
    {
        protected override Window CreateShell()
        {
            return Container.Resolve<MainWindow>();
        }

        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterSingleton<IMessageService, MessageService>();
        }

        protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
        {
            moduleCatalog.AddModule<ZhlTextModModule>();
            moduleCatalog.AddModule<TimerModModule>();
            moduleCatalog.AddModule<PdfModModule>();
            moduleCatalog.AddModule<ImageToAviModModule>();
            moduleCatalog.AddModule<PcfSimpleToolModModule>();
            moduleCatalog.AddModule<DirModModule>();
            moduleCatalog.AddModule<CadLongPipeModModule>();
            moduleCatalog.AddModule<BaseModModule>();
            moduleCatalog.AddModule<CanvasModModule>();
            moduleCatalog.AddModule<XmlModModule>();
           // moduleCatalog.AddModule<CalendarModModule>();
            moduleCatalog.AddModule<GeometryModModule>();


        }
    }
}